<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    对象数据类型操作(crud-增删改查)
    crud是指在做计算处理时的增加(Create)、读取(Read)、更新(Update)和删除(Delete)

    语法
        1.点语法:
        增(Create):对象名.键名=值
        删(Delete):delete obj.键名
        改(Update):对象名.键名=值
                    =>因为对象内部允许重名
                    =>再次设置就是改
        查(Read):对象名.键名
                =>如果对象内部有这个键名,那么就是该键对应的值
                =>如果对象内部没有这个键名,那么就是undefined
    <script>
        var obj={}
        console.log("原始对象-->",obj);
        // 1.增
        obj.name="迪丽热巴~迪力木拉提";
        obj.age=29;
        obj.gender="女";
        console.log("增加之后-->",obj);

        // 2.删
        delete obj.age
        console.log("删除之后-->",obj);

        // 3.改
        obj.name="荆棘公主";
        console.log("修改之后-->",obj);

        // 4.查
        console.log(obj.name);
        console.log(obj.age);//undefined

    </script>

    一种数组关联[]的语法
    增:对象名["键名"]=值
    删:delete 对象名["键名"]
    改:对象名["键名"]=值
    查:对象名["键名"]


    <script>
    console.log(1111111111111111111111111111);console.log(1111111111111111111111111111);
        var obj={}
        console.log("原始对象-->",obj);
        // 1.增
        obj["name"]="迪丽热巴~迪力木拉提";
        obj["age"]=29;
        obj["gender"]="女";
        console.log("增加之后-->",obj);

        // 2.删
        delete obj["age"]
        console.log("删除之后-->",obj);

        // 3.改
       obj["name"]="黄昏"
        console.log("修改之后-->",obj);

        // 4.查
        console.log(obj["name"]);
       
        
    </script>

    区别:
    1.当键名是符合变量的命名规范,没有区别
    2.操作不符合变量的命名规则的时候(纯数字,特殊符号)的名称的时候,只能用数组相关的语法
    3.涉及到变量相关的时候后,只能用数组关联的语法

    <script>
        console.log("-------------------");
        console.log("-------------------");
         var obj={
            name:"迪丽热巴",
            age:29,
            1:266,
            $323:1000000,
            "fegeew@$#fefw":"1234",
            "&money":10,
            user_email:"dilireba@qq.com",
            "#aaa":"abc",
            "class":"明星"
        }
        console.log(obj);
        // console.log(obj.name);
        // console.log(obj["name"]);

        // console.log(obj.1);//不行
        // console.log(obj["1"]);//能拿到

        // console.log(obj.fegeew@$#fefw);
        // console.log(obj["fegeew@$#fefw"]);//能拿到
        // 总结:只要是中括号内部书写的字符串,准确的访问对象内部的某个键名
    </script>
   
</body>
</html>